package cn.jbolt.ec.retailer;

import cn.jbolt.base.JBoltBaseService;
import cn.jbolt.common.model.BecRetailer;
import cn.jbolt.common.model.BecRetailerType;
import com.jfinal.aop.Inject;
import com.jfinal.kit.Kv;
import com.jfinal.kit.Ret;
import com.jfinal.plugin.activerecord.Page;


import java.util.List;

public class RetailerTypeService extends JBoltBaseService<BecRetailerType> {

    @Override
    protected BecRetailerType dao() {
        return new BecRetailerType().dao();
    }

    /**
     * 获取所有商家类别
     * @return
     */
    public List<BecRetailerType> get_retailer_class(){
        Kv cond=Kv.by("is_del",0);
        return getCommonList("id,name,image",cond);
    }


    /************************************
     *  后台方法
     *
     * **********************************
     */


    /**
     * 获取 商家类别  的分页
     * @param pageNum
     * @param pageSize
     * @param keywords
     * @param is_del
     * @return
     */
    public Page<BecRetailerType> get_retailer_type_page(Integer pageNum, Integer pageSize, String keywords, Boolean is_del) {

        Kv conf = Kv.by("table",table());
        conf.setIfNotBlank("keywords",keywords);
        conf.setIfNotNull("is_del",is_del);
        return paginateBySqlTemplate("ec.mall.manage.retailer.get_retaile_type_page",conf,pageNum,pageSize);
    }


    /**
     * 获取 商家类别 的 回收站个数
     * @return
     */
    public Integer get_retailer_type_deleteCount(){
        return getCount(Kv.by("is_del",true));
    }


    /**
     * 保存商家类别
     * @param becRetailerType
     * @return
     */
    public Ret save(BecRetailerType becRetailerType){

        if (becRetailerType == null)
            return fail("操作失败");
        becRetailerType.setImage("/assets/img/uploadimg.png");
        boolean success = becRetailerType.save();
        if (success){
            return success("操作成功");
        }
        return fail("操作失败");


    }


    /**
     * 修改 保存商家类别
     * @param becRetailerType
     * @return
     */
    public Ret update(BecRetailerType becRetailerType){
        if (becRetailerType == null)
            return fail("操作失败");
        if (becRetailerType.update())
            return success("操作成功");
        return fail("操作失败");
    }


    /**
     * 删除 还原  商家类型
     * @param retailer_type_id
     * @return
     */
    public Ret delete_restore_retailer_type(Integer retailer_type_id){
        if (retailer_type_id == null)
            return fail("操作失败");
       Ret ret = toggleBoolean(retailer_type_id,"is_del");
        if (ret.isOk())
            return success("操作成功");
        return fail("操作失败");
    }


    /**
     * 切换 商家类别 首页资格
     * @param retailer_type_id
     * @return
     */
    public  Ret toggle_isrecommand(Integer retailer_type_id){
        if (retailer_type_id == null)
            return fail("操作失败");
        Ret ret = toggleBoolean(retailer_type_id,"isrecommand");
        if (ret.isOk())
            return success("操作成功");
        return fail("操作失败");
    }

}
